package com.ysd.lis.entity.lab;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysd.lis.entity.BaseEntity;
import com.ysd.lis.util.compare.Compare;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.sql.Timestamp;

/**
 * <p>
 * 危急值上报
 * </p>
 *
 * @author wanghao
 * @since 2024-02-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("LAB_CRITICAL_REPORT")
public class LabCriticalReport extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 检验报告结果表主键
     */
    @TableField("RESULT_ID")
    private String resultId;
    /**
     * 是否通报(0否 1是)
     */
    @TableField("IS_REPORT")
    private Integer isReport;

    /**
     * 处理措施(数据字典)
     */
    @TableField("MEASURE")
    private String measure;

    @TableField("MAININFO_ID")
    private String maininfoId;

    /**
     * 被通知人编号
     */
    @TableField("NOTIFY_PERSON")
    private String notifyPerson;

    /**
     * 上报人员编号
     */
    @TableField("REPORT_PERSON")
    private String reportPerson;

    /**
     * 申请单号
     */
    @TableField("REQUEST_NO")
    private String requestNo;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 上报时间
     */
    @TableField("REPORT_TIME")
    private Timestamp reportTime;


    /**
     * 是否审核(0否1是)
     */
    @TableField("IS_REVIEWED")
    private Integer isReviewed;

    /**
     * 审核人
     */
    @TableField("REVIEWER_DOCTOR")
    private String reviewerDoctor;

    /**
     * 接收时间
     */
    @TableField("REVIEWER_TIME")
    private Timestamp reviewerTime;
    /**
     * 临床处理措施
     */
    @TableField("TREATMENT_MEASURE")
    private String treatmentMeasure;


    /**
     * 报告单元
     */
    @Compare("报告单元")
    @TableField("RPT_GROUP")
    private String rptGroup;

    /**
     * 检验日期
     */
    @Compare("检验日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Timestamp sampleda;

    /**
     * 标本号
     */
    @Compare("标本号")
    @TableField("SAMPLE_NO")
    private String sampleNo;
    /**
     * 病历号
     */
    @Compare("病历号")
    @TableField("PAT_NO")
    private String patNo;

    /**
     * 项目代码
     */
    @Compare("项目代码")
    @TableField("ITEM_NO")
    private String itemNo;

    /**
     * 复查结果
     */
    @TableField("RE_TEST_RESULT")
    private String reTestResult;

    /**
     * 是否复查
     */
    @TableField("IS_RE_TEST")
    private Integer isReTest;

    /**
     * 通知方式
     */
    @TableField("NOTIFICATION_TYPE")
    private String notificationType;

    /**
     * 危急值类型:1检验 2细菌
     */
    @TableField("CRITICAL_TYPE")
    private Integer criticalType;

    /**
     * 上报时当前结果
     */
    @TableField("CURRENT_RESULT")
    private String currentResult;

    /**
     * 危急值项目类型:1血培养 2形态镜像 3敏鉴 4药敏
     */
    @TableField("CULTICAL_ITEM_TYPE")
    private String criticalItemType;

    @TableField(exist = false)
    private String  criticalNo;

}
